<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
</head>

<body>
    <script>
        // p.then()返回的新promise的结果状态由什么决定?  是一个 promise 实例对象
        let p = new Promise((resolve, reject) => {
            // resolve('OK');
            reject('error');
        });

        //调用 then 方法
        let result = p.then(v => {
            console.log(v);
            //1. 返回的是一个非 promise 对象的数据. 则 then 返回的是一个 成功的 promise, 且返回值就是返回promise的结果值
            // return 123;
            // return false;
            // return {a: 100, b: 200}
            //2. 返回的是一个 promise 对象. 则返回的 promise 将决定 then 返回 promise 的状态与结果值
            // return new Promise((resolve, reject) => {
            //     // resolve('SUCCESS');
            //     // reject('OVER');
            // });
            //3. 抛出错误. 返回失败的 promise, 且抛出的值, 就是返回 promise 失败的结果值
            throw '出了点问题~, 手头紧了~ 买彩票有困难啦~';
        }, r => {
            console.log(r);
        });

        console.log(result);
    </script>
</body>

</html>